package com.egg.ylt.Utils;

import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.SimpleTarget;

/**
 * Created by sichaoqi on 2018/2/5.
 * modify by dlx on 2019/1/25
 */

public class GlideUtils {
    /**
     * (1)
     * 显示图片Imageview
     *
     * @param context  上下文
     * @param errorimg 错误的资源图片
     * @param url      图片链接
     * @param imgeview 组件
     */
    public static void showImageView(Context context, int errorimg, String url,
                                     ImageView imgeview) {
        Glide.with(context).load(url)// 加载图片
                .error(context.getResources().getDrawable(errorimg))// 设置错误图片
//                .crossFade()// 设置淡入淡出效果，默认300ms，可以传参
                .placeholder(errorimg)// 设置占位图
                .centerCrop()
                .transform(new GlideRoundTransform(context, 3))
//                .diskCacheStrategy(DiskCacheStrategy.ALL)// 缓存修改过的图片
                .into(imgeview);
        // Glide.with(context).load(url).thumbnail(0.1f).error(errorimg)
        // .into(imgeview);
        // Glide
        // .with(context)
        // .load(UsageExampleListViewAdapter.eatFoodyImages[0])
        // .placeholder(R.mipmap.ic_launcher) //设置占位图
        // .error(R.mipmap.future_studio_launcher) //设置错误图片
        // .crossFade() //设置淡入淡出效果，默认300ms，可以传参
        // //.dontAnimate() //不显示动画效果
        // .into(imageViewFade);

    }

    /**
     * 自适应宽度加载图片。保持图片的长宽比例不变，通过修改imageView的高度来完全显示图片。
     */
    private static final String TAG = "GlideUtils";

    public static void loadIntoUseFitWidth(final Context context, final String imageUrl, int errorImageId, final ImageView imageView) {
        //获取图片真正的宽高
//        Glide.with(context)
//                .load(imageUrl)
//                .asBitmap()//强制Glide返回一个Bitmap对象
//                .into(new SimpleTarget<Bitmap>() {
//                    @Override
//                    public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {
//                        int trueWidth = bitmap.getWidth();
//                        int trueHeight = bitmap.getHeight();
//                        if (imageView == null) {
//                            return;
//                        }
//                        if (imageView.getScaleType() != ImageView.ScaleType.FIT_XY) {
//                            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
//                        }
//                        ViewGroup.LayoutParams params = imageView.getLayoutParams();
//                        int vw = ScreenUtil.getScreenWidth((Activity) context);
//                        float scale = (float) vw / trueWidth;
//                        int vh = Math.round(trueHeight * scale);
//                        params.height = vh;
//                        params.width = vw;
//                        imageView.setLayoutParams(params);
//                    }
//                });
        //获取图片显示在ImageView后的宽高
        Glide.with(context)
                .load(imageUrl)
                .into(imageView);
    }

    public static void loadIntoUseFitWidthCenterCrop(final Context context, final String imageUrl, final ImageView imageView, final int ratioWidth, final int ratioHeight, int lines) {
        //获取图片真正的宽高
//        if (lines <= 0) {
//            lines = 1;
//        }
//        final int finalLines = lines;
//        Glide.with(context)
//                .load(imageUrl)
//                .asBitmap()//强制Glide返回一个Bitmap对象
//                .into(new SimpleTarget<Bitmap>() {
//                    @Override
//                    public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {
//                        int trueWidth = bitmap.getWidth();
//                        int trueHeight = bitmap.getHeight();
//                        if (imageView == null) {
//                            return;
//                        }
//                        ViewGroup.LayoutParams params = imageView.getLayoutParams();
//                        Log.e(TAG, "onResourceReady: " + params.width + "--h" + params.height);
//                        params.height = params.height / 3;
//                        imageView.setLayoutParams(params);
//                    }
//                });
//        //获取图片显示在ImageView后的宽高
//        Glide.with(context)
//                .load(imageUrl)
//                .centerCrop()
//                .into(imageView);
    }

}
